import type { AsyncDataResult, AsyncVoid, PromiseBoolean, Dictionary } from './types'

export default interface ITable {
  create(name: string, cols: Dictionary<string>): AsyncVoid
  drop(name: string): AsyncVoid
  exists(name: string): PromiseBoolean
  truncate(name: string): AsyncVoid
  rename(from: string, to: string): AsyncVoid
  rename(from: string, to: string): AsyncVoid
  fixed(name: string, cols: Dictionary<string>, renames?: Dictionary<string>): AsyncVoid
  columns(name: string): AsyncDataResult 
}